package com.example.oasystem.service;

import com.example.oasystem.entity.position.AoaPosition;
import com.example.oasystem.entity.process.AoaProcessOfSun;
import com.example.oasystem.entity.process.AoaReviewedOfSun;
import com.example.oasystem.entity.status.AoaStatusList;
import com.example.oasystem.entity.user.AoaUser;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface AoaProcessServiceOfSun {

    PageInfo<AoaProcessOfSun> selectProcessAndTypeAndStatus(int pageNum, int pageSize, String baseKey, String userName);

    AoaProcessOfSun selectProcess(long id);

    AoaProcessOfSun selectUserProcess(long id);

    AoaPosition selectposition(long positionId);


    AoaStatusList selectStatus(long statusName);

    void updateStatus(long statusId,long id);

    AoaProcessOfSun selectOneProcess(String userName);


    void insertProcessUser(long proId,long status,long statusId,long userId);


    void addUserReviewed(long statusId,long proId,long userId);

    void updateUserName(long proId,String userName);

    List<AoaReviewedOfSun> reviewedSize(long proId,long statusId);

    void updateUserReviewed(@Param("advice")String advice,@Param("time")String time,@Param("statusId")long statusId,@Param("proId")long proId,@Param("userId")long userId);


    List<AoaReviewedOfSun> processReviewedAll(@Param("proId")long proId);

    void updateResign(long proId,  String advice, int num);

    void updateBursement(long proId, String advice, int num);

    void updateOvertime(long proId, String advice, int num);

    void updateRegular(long proId, String advice, int num);

    void updateEvenction(long proId, String advice, int num);

    void updateHoliday(long proId, String advice, int num);

//    AoaProcessOfSun selectAll(String name,long processId);

}
